﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using GrouponDesktop.ArmarCupon;
using System.Data.SqlClient;


namespace GrouponDesktop
{
    public partial class MenuLogin : Form
    {

        int userID = 0;

        public MenuLogin()
        {
            InitializeComponent();
        }




        private void button3_Click(object sender, EventArgs e)
        {
            if (tb_user.Text == "")
            {


                MessageBox.Show("Debe ingresar un usuario");


            }
            else
            {

                string query = "EXEC CodingSpree.PasswordUsuario ";
                query = query + "'" + tb_user.Text + "'";

                String Pswd = BDConnection.QueryAndExecuteScalarString(query);


                if (Pswd == "" && Pswd != "-1")
                {

                    CambiarContraseña nuevacontraseña = new CambiarContraseña(tb_user.Text);
                    nuevacontraseña.Show();

                }
                else
                {


                    string password = Funciones.ImprimirHash(tb_pass.Text);

                    query = "EXEC CodingSpree.LoginUsuario ";
                    query = query + "'" + tb_user.Text + "'" + " , ";
                    query = query + "'" + password + "'";

                    userID = BDConnection.QueryAndExecuteScalar(query);

                    if (userID > 0) //CASE LOGIN CORRECTO
                    {
                        //MUESTRO EL MENU PRINCIPAL, Y LE PASO EL USUARIO, EL MP SE ENCARGARÁ de MOSTRAR LOS DIFERENTES BOTONES               
                        GrouponDesktop.MenuPrincipal.MenuPrincipal MP = new MenuPrincipal.MenuPrincipal(userID);
                        MP.Show();
                        this.Hide();

                    }
                    else
                    {
                        if (userID == -2)
                        {

                            MessageBox.Show("La cuenta está bloqueada. Por favor póngase en contacto con el administrador.");

                        }
                        else
                        {   
                            if (userID == 0)
                            {
                                MessageBox.Show("No existe usuario o la contraseña es incorrecta");
                            }
                            else
                            {
                                if (userID == -3)
                                {
                                    
                                    MessageBox.Show("Rol inválido. Por favor póngase en contacto con el administrador.");

                                }
                                else 
                                {

                                    MessageBox.Show("Demasiados intentos fallidos, la cuenta esta bloqueada. Por favor póngase en contacto con el administrador.");
                                
                                }
                            }
                        }
                    }// FIN IF LOGIN
                }
            }
        }

        private void b_reg_Click(object sender, EventArgs e)
        {
            RegistroUsuario RU = new RegistroUsuario();
            RU.Show();
        }

        private void Cancel_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            NuevaContraseña NC = new NuevaContraseña(userID);
            NC.Show();
        }


    }
}
